//
//  JVMonitorCenterHelper.h
//  AFNetworking
//
//  Created by 马泽岩 on 2018/2/26.
//

#import <Foundation/Foundation.h>

#define RECORD_DATA_INDEX_KEY   @"data"
#define RECORD_DATA_DATA_KEY    @"index"

@interface JVMonitorCenterHelper : NSObject

+ (JVMonitorCenterHelper *)shareInstance;

/**
 * 创建一个domain
 * @param domain 将同一种类型的数据归类到同一个domain下
 */
- (void)registerDomain:(NSString *)domain;

/**
 * 插入一条数据到指定domain
 * @param data 字符串
 * @param domain 插入到指定的域下
 * @return 返回新插入数据的主键ID
 */
- (int64_t)insertData:(NSString *)data domain:(NSString *)domain;


/**
 * 搜索出所有的指定域下的数据
 * @param domain 指定的域
 * @param deleteData 查出之后删除数据
 */
- (NSArray<NSDictionary *> *)searchDataWithDomain:(NSString *)domain deleteData:(BOOL)deleteData;

/**
 * 搜索出指定域下特定条数的数据
 * @param domain 指定的域
 * @param deleteData 查出之后删除数据
 * @param count 最多查出多少条数据
 */
- (NSArray<NSDictionary *> *)searchDataWithDomain:(NSString *)domain deleteData:(BOOL)deleteData count:(NSInteger)count;


/**
 * 删除指定域下的所有数据
 * @param domain 指定的域
 */
- (void)clearDataWithDomain:(NSString *)domain;

/**
 * 删除指定域下特定条数的数据
 * @param domain 指定的域
 * @param fromIndex 索引起始位置
 * @param toIndex 索引结束位置
 */
- (void)clearDataWithDomain:(NSString *)domain fromIndex:(NSInteger)fromIndex toIndex:(NSInteger)toIndex;

@end
